home *** CD-ROM | disk | FTP | other *** search
- package symantec.itools.awt;
-
- import java.awt.Canvas;
- import java.awt.Component;
- import java.awt.Dimension;
- import java.awt.FontMetrics;
- import java.awt.Graphics;
-
- public class WrappingLabel extends Canvas implements AlignStyle {
- protected String text;
- protected int align;
- protected int baseline;
- // $FF: renamed from: fm java.awt.FontMetrics
- protected FontMetrics field_0;
-
- public WrappingLabel() {
- this("");
- }
-
- public WrappingLabel(String var1) {
- this(var1, 0);
- }
-
- public WrappingLabel(String var1, int var2) {
- this.setText(var1);
- this.setAlignStyle(var2);
- }
-
- public int getAlignStyle() {
- return this.align;
- }
-
- public void setAlignStyle(int var1) {
- this.align = var1;
- ((Component)this).invalidate();
- }
-
- public String getText() {
- return this.text;
- }
-
- public void setText(String var1) {
- this.text = var1;
- ((Component)this).repaint();
- }
-
- public String paramString() {
- return "";
- }
-
- public void paint(Graphics var1) {
- if (this.text != null) {
- int var7 = 0;
- int var8 = 0;
- this.field_0 = ((Component)this).getToolkit().getFontMetrics(((Component)this).getFont());
- this.baseline = this.field_0.getMaxAscent();
- Dimension var6 = ((Component)this).size();
- int var4 = var6.width;
- int var5 = var6.height;
- byte var2 = 0;
-
- for(int var3 = 0; var3 + this.field_0.getHeight() <= var5 && var7 != -1; var3 += this.field_0.getHeight()) {
- while(var7 < this.text.length() && this.text.charAt(var7) == ' ') {
- ++var7;
- if (var7 >= this.text.length()) {
- break;
- }
- }
-
- var8 = var7;
- int var9 = -1;
-
- String var10;
- for(var10 = null; var8 >= var7; ++var8) {
- var8 = this.text.indexOf(32, var8);
- String var11;
- if (var8 == -1) {
- var11 = this.text.substring(var7);
- } else {
- var11 = this.text.substring(var7, var8);
- }
-
- if (this.field_0.stringWidth(var11) >= var4) {
- break;
- }
-
- var10 = var11;
- var9 = var8;
- if (var8 == -1) {
- break;
- }
- }
-
- if (var10 != null) {
- this.drawAlignedString(var1, var10, var2, var3, var4);
- var7 = var9;
- } else {
- int var12 = 0;
- int var13 = 0;
-
- for(var8 = var7; var8 < this.text.length(); ++var8) {
- var13 = this.field_0.charWidth(this.text.charAt(var8));
- if (var12 + var13 >= var4) {
- break;
- }
-
- var12 += var13;
- }
-
- this.drawAlignedString(var1, this.text.substring(var7, var8), var2, var3, var4);
- var7 = var8;
- }
- }
-
- this.field_0 = null;
- }
-
- }
-
- protected void drawAlignedString(Graphics var1, String var2, int var3, int var4, int var5) {
- int var6 = var3;
- int var7 = var4 + this.baseline;
- if (this.align != 0) {
- int var8 = this.field_0.stringWidth(var2);
- if (this.align == 1) {
- var6 = var3 + (var5 - var8) / 2;
- } else if (this.align == 2) {
- var6 = var3 + var5 - var8;
- }
- }
-
- var1.drawString(var2, var6, var7);
- }
- }
-